/*#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include "cliente-m.h"
#include "utiles.h"


int main(void) {

	printf("%s\n",consultar_saldo("0001"));
	printf("%s\n",depositar("0001","125"));
	printf("%s\n",extraer("0001","100"));
	printf("%s\n", transferir("0001","0002","50"));


	return EXIT_SUCCESS;
}*/

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include "cliente-m.h"
#include "utiles.h"

int mostrarResultado(int n);
int procesar_resultado(char * resultado);

int main(void) {

	int n;
	int i = 0;

	while(i != -1){

		system("clear");
		printf("\n#################################################");
		printf("\n######         Transferencia= 1            ######");
		printf("\n######         Extraer      = 2            ######");
		printf("\n######         Depositar    = 3            ######");
		printf("\n######         Consultar    = 4            ######");
		printf("\n######         Salir        = -1           ######");
		printf("\n#################################################");
		printf("\n");
		printf("Ingrese la opción deseada:  ");
		scanf("%d", &n);

		i  = mostrarResultado(n);
		fflush(stdout);
		sleep(3);
		 /* se usa sleep para prevenir que una persona tome le lugar del usuario si este abandona el cliente */
	}

	return EXIT_SUCCESS;
}


int mostrarResultado(int n){

    system("clear");
	char *c1, *c2, *c3;
	c1=(char*)malloc(10*sizeof(char));
	bzero(c1,10);
	c2=(char*)malloc(10*sizeof(char));
	bzero(c2,10);
	c3=(char*)malloc(10*sizeof(char));
	bzero(c3,10);
	if(n==1){
		printf("\nTRANSFERIR\n");
		printf("Ingrese numero de cuenta de origen, numero de destino, Monto .(En ese orden)");
		printf("\n");

		printf(" Cuenta origen: ");
		fflush(stdin);
		scanf("%s", c1);

		printf("\n Cuenta destino: ");
		fflush(stdin);
		scanf("%s", c2);

		printf("\n Monto: ");
		fflush(stdin);
		scanf("%s", c3);
		procesar_resultado(transferir(c1,c2,c3));
		return 1;
	}else{
		if(n==2){
			printf("\nEXTRAER\n");
			printf("Ingrese numero de cuenta, Monto .(En ese orden)");
			printf("\n");

			printf(" Numero de cuenta: ");
			fflush(stdin);
			scanf("%s", c1);

			printf("\n Monto: ");
			fflush(stdin);
			scanf("%s", c2);

			procesar_resultado(extraer(c1,c2));
			return 1;
		}else{
			if(n==3){
				printf("\nDEPOSITAR\n");
				printf("Ingrese numero de cuenta, Monto .(En ese orden)");
				printf("\n");

				printf(" Numero de cuenta: ");
				fflush(stdin);
				scanf("%s", c1);

				printf("\n Monto: ");
				fflush(stdin);
				scanf("%s", c2);

				procesar_resultado(depositar(c1,c2));
				return 1;
			}else{
				if(n==4){
					printf("\nCONSULTAR SALDO\n");
					printf("Ingrese numero de cuenta");
					printf("\n");

					printf(" Numero de cuenta: ");
					fflush(stdin);
					scanf("%s", c1);

					procesar_resultado(consultar_saldo(c1));
					return 1;
				}
				else{
					if(n==-1){
						printf("saliendo...");
						return -1;

					}else{
						printf("INGRESE UNA OPCION CORRECTA!");
						return 0;
						}
				}
			}
		}
	}
}

int procesar_resultado(char  resultado[2]){

	if(strcmp(resultado,"-0")== 0)
	{
		printf("\nla operación se realizo correctamente");
	}else{
		if(strcmp(resultado,"-1")== 0)
		{
			printf("\nla cuenta ingresada no existe");
		}else{
			if(strcmp(resultado,"-2")==0)
			{
				printf("\nla transacción no pudo completarse, intente nuevamente");
			}else{
				if(strcmp(resultado, "-3")==0)
				{
					printf("\nno posee saldo suficiente para realizar la operación");
				}else{
					printf("\nsu saldo es: %s\n", resultado);
				}
			}
		}
	}
	return 1;
}









